package com.noodles.mall.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.noodles.mall.entity.Item;
import com.baomidou.mybatisplus.extension.service.IService;
import com.noodles.mall.vo.PageVo;

import java.util.List;
import java.util.Map;

/** 商品 **/
public interface ItemService extends IService<Item> {
    /** 增加 **/
    boolean insert(Item item);

    /** 删除: 商品下架 **/
    boolean delete(List<Integer> ids);

    /** 修改: **/
    boolean update(Item item);

    /** 修改: 商品id, 图片相对路径 **/
    boolean updateUrl(Integer id, String url);

    /** 单个查询: id **/
    Item selectOne(Integer id);

    /** 分页查询: 查询条件wrapper **/
    PageVo selectPage(Long current, Long size, LambdaQueryWrapper<Item> wrapper);

    /** 分页查询: 无 **/
    PageVo selectPage(Long current, Long size);

    /** 分页查询: word(name,title,description) **/
    PageVo selectPage(Long current, Long size, String word);

    /** 分页查询: 类别Id **/
    PageVo selectPage(Long current, Long size, Integer typeId);

    /** 查询: 商品总销量 **/
    Object selectSaleCount();

    /** 列表查询: 各类别的销量列表 **/
    List<Map<String,Object>> selectSaleCountWithType();

}
